<?php

namespace app\api\controller;

use app\common\controller\Api;

/**
 * 上传接口
 */
class Upload extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];

    protected function upload($name)
    {
        // 获取表单上传文件
        $files = $this->request->file($name);
        // dump($files);
        // exit;
        if (empty($files)) {
            $this->error('文件为空');
        }
        $result = [];
        if (is_array($files)) {
            foreach ($files as $file) {
                // 移动到框架应用根目录/public/uploads/ 目录下
                $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
                if ($info) {
                    // 将上传的文件路径存储到result数组
                    $result[] = '/uploads/' . str_replace('\\', '/', $info->getSaveName());
                } else {
                    // 上传失败获取错误信息
                    $this->error($file->getError());
                }
            }
        } else {
            $info = $files->move(ROOT_PATH . 'public' . DS . 'uploads');
            $result = [
                '/uploads/' . str_replace('\\', '/', $info->getSaveName())
            ];
        }

        $this->success('上传成功', $result);
    }

    public function saveImage()
    {
        $this->upload('image');
    }
}
